package cc.rengu.redp.bizimpl.upmp.service;

import cc.rengu.redp.bizimpl.upmp.domain.UpmpBMchntLevelInfo;
import cc.rengu.redp.bizimpl.upmp.vo.OperationResult;
import cc.rengu.redp.common.domain.QueryRequest;
import cc.rengu.redp.common.exception.RedpException;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 刘玉亮.LL
 * @since 2021-06-22
 */
public interface IUpmpBMchntLevelInfoService extends IService<UpmpBMchntLevelInfo> {

    UpmpBMchntLevelInfo findOneByCode(String mchntLevel, String data_sta_01, String instId);

    IPage<UpmpBMchntLevelInfo> findByPage(QueryRequest request, UpmpBMchntLevelInfo info);

    Map<String, Object> getEdit(String optFlag, String instId, String id) throws RedpException;

    OperationResult saveData(String menuId, String oprMenuName, UpmpBMchntLevelInfo entity, String webNextUrl) throws RedpException;

    OperationResult chkData(String menuId, String oprMenuName, UpmpBMchntLevelInfo entity, String webNextUrl) throws RedpException;

    Map<String, Object> mchntLevelSelect2List(String q, QueryRequest request);

    @Transactional
    void delete(String[] ids);

    List<Map> getMerLevelInfos(String instId);

    UpmpBMchntLevelInfo getMchntLevelInfo(String instId, String limit_inst);
}
